perm filename MDIALG.PUB[HAL,HE]3 blob sn#130966 filedate 1974-11-20 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	.dia: NEWSEC EXAMPLE DIALOG WITH THE 'AL SYSTEM
C00011 ENDMK
C⊗;
.dia: NEWSEC EXAMPLE DIALOG WITH THE 'AL SYSTEM
	Here is a sample conversation a user  might have with 'AL. It
demonstrates the  following features: Typing in  source code by hand,
requesting source code to be  read from a file,  immediate  execution
of  commands by  the  arm, return  of values  from  the arm,  loading
compiled code into the runtime computer, and executing that code.
	The supervisor prompts with the sign "⊃".  The material in
the right-hand column is explanatory.
.BEGIN
.NOFILL; NOJUST;TURN OFF "←#";

%7
⊃ COMPILE TTY				| Request to read in from
					|   console for compilation.
⊂ type <alt> when done ⊃		| Message from supervisor
MOVE YELLOW				| Simple move statement
   TO FRAME(ROT(X,90),VECTOR(20,30,1));	|   Destination
FRAME PLACE1;				| Declaration
PLACE1 ← YELLOW;			| Assignment
PLACE2 ← PLACE1 + VECTOR(0,0,5);	| Assignment
⊂ OK to declare PLACE2 a FRAME? ⊃  YES	| Parser error, with option.
$					| End of file (altmode)
⊂ no errors. compiled:  TTY(1) ⊃	| Compiler message.  
					|
					| Now user wants to park arm.
⊃ COMPILE TTY				| Request to read in from
					|   console for compilation
⊂ type <alt> when done ⊃		| Message from supervisor
YELLOW ←← READ(YELLOW);			| Get planning value of Yellow
					|   arm correct
MOVE YELLOW TO YPARK  $			| User wants to park the arm
⊂ no errors. compiled:  TTY(2) ⊃	| Compiler message.  
⊃ EXECUTE TTY(2)			| Request to execute park
					|   code
⊂ loading TTY(2) ⊃			| First, loading to be done
⊂ executing TTY(2) ⊃			| Message as execution starts
⊂ done ⊃				| Message at end of execution
					|
					| Now user wants to try his new
					|   code
⊃ EXECUTE TTY(1)			| Request to execute code
⊂ loading TTY(1) ⊃			| First, loading to be done
⊂ executing TTY(1) ⊃			| Message as execution starts
⊂ done ⊃				| Message at end of execution
					|
⊃ PLACE3 ←← READ(YELLOW)		| Ask to read hand position
⊂ OK to declare PLACE3 a FRAME? ⊃  YES  | Use of undeclared variable
⊃ WRITE(#(PLACE3))			| Want planning value
⊂ #(PLACE3) = FRAME(ROT(VECTOR(.3,.5,.82),17*DEG),
		    VECTOR(19.9*CM, 30.1*CM, 1.1*CM)) ⊃
					| Indication of what was set
⊃ WRITE(PLACE4)				| Want runtime value
⊂ PLACE4 not declared ⊃ 		| No runtime value!
⊃ WRITE(#(V1))				| Request for planning value
⊂ #(V1) = VECTOR(3.0, 0, 20.13) ⊃	|
⊃ V1 ←← VECTOR(4.0, 0, 20.13)		| User can change planning 
					|   values.
⊃ V1 ← (4.0, 0, 20.13)			| User can change real values.

⊃ COMPILE HACK.AL[1,LOU]		| Ask for compile from file
⊂ Error in line 310 of HACK.AL[1,LOU].	| Parser error message
                        THEN 		| Gives line with <lf>
                             STUP	|   at point of error
Option ⊃ ?				| User typed "?"
I:	Insert replacement text		| A list of options to user
Z:	Use line editor to fix		|
M:	Show more context		| This would give entire
F:	Flush to end of statement	|   statement
E:	Switch to E			| E is a text editor
S:	Switch to SOS			| SOS is a text editor
Q:	Quit. Abort compilation		|
Option ⊃ I				| User chooses to insert
					|   replacement
⊂ type <alt> when done ⊃		| Message from supervisor
                        THEN STOP	|  "STUP" changed to "STOP"
$					| End of insertion
⊂ error in line 520 of HACK.AL[1,LOU].	| trajectory calculator error
					|   message
        MOVE YELLOW 			| Only first line of
					|   statement given
The desired motion goes out of bounds in joint 3
in the first segment of motion.		|
					| A bad motion
Option ⊃ E				| User wants to edit with E.
⊂ Switching to E.  To return, <CTR>XRU<CR> ⊃
					| Universe is saved for retry
⊂ Welcome back to 'AL. 			| Editing done
Compilation of HACK.AL[1,LOU] aborted ⊃	| After an edit, compilation
					|   aborts.
⊃ COMPILE HACK.AL[1,LOU]		| Request for recompilation
⊂ No errors. Compiled: HACK.AL[1,LOU] ⊃	|
					| Compilation succeeds.  
⊃ LOAD TTY(1),HACK.AL[1,LOU]		| Request to load into servo
⊂ Loaded:  TTY(1), HACK.AL[1,LOU] ⊃	|
⊃ STATUS				| User wants to know where
					|   he is
Compiled: TTY(1), TTY(2), HACK.AL[1,LOU]| Compilation status
Loaded: TTY(1), HACK.AL[1,LOU]		| Runtime status
⊃ EXECUTE				| Request for execution
⊂ Executing TTY(1), HACK.AL[1,LOU] ⊃	|
⊃ STATUS				| User wants to know where
					|   she is
Interpreter at line 320 in HACK.AL[1,LOU]
					| Runtime status
⊂ Interrupted by red button⊃		| Runtime error message. User
					|   interrupted motion.
Interpreter at line 180 of HACK.AL[1,LOU]
					| Servo status
⊃ PROCEED				| Request to continue motion
⊂ Joint 4 has excessive force.		| Runtime error message.
Interpreter at line 150 of HACK.AL[1,LOU]
					| Servo status
⊃ DELETE HACK.AL			| Request to delete last
					|   compilation
⊂ Deleting HACK.AL from runtime		| Removed from runtime
⊂ Deleting HACK.AL from COMPILATION	| Removed from world of
					|   compiler
⊃ E					| Switch to E.
⊂ Switching to E.  To return, <CTR>XRU<CR>⊃
⊂ Welcome back to 'AL⊃			|
⊃ COMPILE HACK.AL[1,LOU]		| Request for compilation
⊂ No errors. Compiled: HACK.AL[1,LOU] ⊃	| Compilation succeeds
⊃ SAVE WORLD IN W1			| User wants world saved in
⊂ World saved in W1.WLD ⊃		|   named location.
⊃ RESTORE WORLD FROM W0			| Request to restore previous
					|   world
⊂ W0.WLD not found ⊃			| Expander error message
⊃ RESTORE WORLD FROM W00		| Request to restore previous
					|   world
⊂ done 					|
⊃ BYE					| Request to leave the room
⊂ Final status:				| A final status rundown
Load modules ready:  TTY(1).HLD, TTY(2).HLD, HACK.HLD
Goodbye ⊃
EXIT
.COMMAND CHARACTER "~";
.%*
~ COMMAND CHARACTER ".";
.END